home *** CD-ROM | disk | FTP | other *** search
/ Merciful 2 / Merciful - Disc 2.iso / software / z / zeus2.dms / zeus2.adf / Developers / Include / clib / pipeline_protos.h next >
C/C++ Source or Header  |  1995-07-04  |  7KB  |  296 lines

  1. #ifndef  CLIB_PIPELINE_PROTOS_H
  2. #define  CLIB_PIPELINE_PROTOS_H
  3.  
  4. /*
  5. ** $VER: pipeline_protos.h 1.0 (12.01.94)
  6. **
  7. ** C prototypes for the pipeline.library.
  8. **
  9. ** (C) Copyright 1992-1994 Pipeline Developments.  Written by Alex May.
  10. **     All rights reserved
  11. */
  12.  
  13. #ifndef DOS_DOS_H
  14. #include "dos/dos.h"
  15. #endif
  16.  
  17. #ifndef INTUITION_INTUITION_H
  18. #include "intuition/intuition.h"
  19. #endif
  20.  
  21. #ifndef _TIME_H
  22. #include "time.h"
  23. #endif
  24.  
  25. /*
  26. ** Misc functions
  27. */
  28.  
  29. void  ClearMem( APTR, ULONG );
  30. UWORD CRC16Bit( char *, int, UWORD );
  31. int CRC32Bit( char *, int, int );
  32. void SortList( struct List * );
  33. void Strip8Bit( char * );
  34. void SpaceToUnder( char * );
  35. void UnderToSpace( char * );
  36. char *NiceName( char * );
  37. int *NiceLine( char *, char *, int );
  38. void GetConnectMode( UBYTE *, ULONG *, UWORD * );
  39. APTR SearchArray( APTR, UWORD, UWORD, UBYTE *, ULONG * );
  40.  
  41. /*
  42. ** Zeus functions
  43. */
  44.  
  45. void *GetShared( void );
  46. int LockPipeline( void );
  47. void UnLockPipeline( void );
  48. void StoreShared( APTR );                                /* Private */
  49. void ErrorLogWrite( char, char * );
  50. long LoadSysCfg( UWORD );
  51. void FreeSysCfg( void );
  52.  
  53. /*
  54. ** Function functions (!)
  55. */
  56.  
  57. APTR AddFDList( struct fdfunc *, int (*)(), int, int );
  58. int RemFDList( APTR );
  59. int ReplyFunction( int, int, char * );                                /* Do not use anymore */
  60. void ReplyAsyncFunc( struct AsyncData *, long, UBYTE * );    /* Do not use anymore */
  61. struct fdfunc *FindFunction( char * );                                /* Private */
  62.  
  63. /*
  64. ** Line functions
  65. */
  66.  
  67. struct Line *GetLine( int );
  68. struct Line_Node *GetLineNode( int );                /* Private */
  69. ULONG GetLineStatus( UWORD );
  70. int KillMe( int );
  71. int DontKillMe( void );
  72. BOOL OwnIO( ULONG );
  73. BOOL DisOwnIO( ULONG );
  74. void LineLogWrite( UWORD, char, char * );
  75. BOOL LineOutputMode( long, long );
  76. BOOL LineKillMe( int, ULONG );
  77. BOOL LineDontKillMe( int );
  78. void SetStatus( long, UBYTE * );
  79. long CheckMsgList( long );
  80. BOOL GetLineMsg( long, UBYTE *, time_t * );
  81.  
  82. int NextRexxArg( int, char *, int );                        /* Do not use anymore */
  83. LONG NextAsyncArg( UBYTE *, UBYTE *, LONG *, LONG );    /* Do not use anymore */
  84. long ExpandCC( long, UBYTE *, UBYTE *, UWORD );
  85. long ExpandCCStr( long, UBYTE *, UBYTE *, UWORD );
  86.  
  87. BOOL FindScript( struct Line *, UBYTE * );
  88.  
  89. /*
  90. ** Chat functions
  91. */
  92.  
  93. BOOL StartChat( UWORD, BOOL (*)(struct Line *, struct ChatChar *) );
  94. BOOL ChatWrite( UWORD, APTR, ULONG );
  95. void StopChat( UWORD );
  96.  
  97. /*
  98. ** Computer Type functions
  99. */
  100.  
  101. BOOL LoadCT( void );
  102. void FreeCT( void );
  103. BOOL GetCType( UWORD, char * );
  104.  
  105. /*
  106. ** Control functions
  107. */
  108.  
  109. struct SignalSemaphore *InitControl( struct Window *, void (*)(void) );
  110. void FreeControl( void );
  111. BOOL AddGad( struct Gadget * );
  112. BOOL RemGad( struct Gadget * );
  113. void AttachGads( void );
  114. void DetachGads( void );
  115. void LayoutGads( void );
  116. struct Gadget *GetGad( UBYTE * );
  117. void FreeGad( struct Gadget * );
  118.  
  119. /*
  120. ** User functions
  121. */
  122.  
  123. BOOL FindUserIdx( char *, struct UserIdx * );
  124. LONG IsUserOnline( char * );
  125. BOOL DoesUserExist( char * );
  126. long DeleteUser( char * );
  127. long InitUserBase( void );                                /* Private */
  128. long QuitUserBase( void );                                /* Private */
  129. struct UserKey *InitUserKey( UWORD );
  130. BOOL NextUserKey( struct UserKey * );
  131. void EndUserKey( struct UserKey * );
  132. struct User *LoadUserFromKey( struct UserKey * );
  133. struct User * LoadUser( char * );
  134. int UnLoadUser( struct User * );
  135. struct User * MakeNewUser( char * );
  136. int SaveUser( struct User * );
  137. long NumUsersOnline( void );
  138. BOOL CheckBan( UBYTE * );
  139. BOOL AddUserXData( struct User *, APTR, ULONG, ULONG );
  140. BOOL RemUserXData( struct User *, ULONG );
  141. ULONG GetUserXData( struct User *, APTR, ULONG, ULONG, ULONG );
  142. ULONG GetUserXDataSize( struct User *, ULONG );
  143. long LoadUserXData( struct User * );
  144.  
  145. /*
  146. ** File transfer functions
  147. */
  148.  
  149. struct XferInfo *FileXfer( ULONG Mode, ULONG Protocol, char *FileNames, struct Line *line );
  150. struct XferInfo *FileMarkXfer( ULONG, struct Mark *, struct Line *, ULONG );
  151. void FreeXferInfo( struct XferInfo *info );
  152.  
  153. /*
  154. ** Time Functions
  155. */
  156.  
  157. time_t Time( time_t * );
  158. void GMTime( time_t, struct tm * );
  159.  
  160. /*
  161. ** Pipe functions
  162. */
  163.  
  164. struct PipeHan *OpenPipe( char *, LONG, ULONG );
  165. void ClosePipe( struct PipeHan *, ULONG );
  166. long WritePipe( struct PipeHan *, UBYTE *, LONG );
  167. long ReadPipe( struct PipeHan *, UBYTE **, long );
  168. void RequestPipe( struct PipeHan *, struct Message *, ULONG );
  169. long PipeBufSize( struct PipeHan * );
  170. void SignalPipeReaders( struct PipeHan *, ULONG );
  171. void AddPipeSignal( struct PipeHan *, struct PipeSig * );
  172. void RemPipeSignal( struct PipeHan *, struct PipeSig * );
  173. long Clip2Pipe( APTR, long );
  174.  
  175. /*
  176. ** User/Line Message functions
  177. */
  178.  
  179. BOOL SendLineMsg( long, char *, BOOL );
  180. BOOL WriteUserLog( char *, char * );
  181.  
  182. /*
  183. ** Editing functions
  184. */
  185.  
  186. APTR InitEdit( struct EditOpts * );
  187. void FreeEdit( APTR );
  188. long DoEdit( APTR, UBYTE );
  189. long RedrawEdit( APTR );
  190.  
  191. /*
  192. ** Bulletin functions
  193. */
  194.  
  195. void FreeBulletins( void );
  196. LONG SaveBulletins( void );
  197. LONG LoadBulletins( void );
  198. LONG AddBulletin( UBYTE *, UBYTE *, UBYTE *, time_t );
  199. LONG RenumberBulletins( void );
  200. BOOL RemBulletin( UBYTE *, LONG );
  201. struct List *ReadLockBltnList( void );
  202. struct List *WriteLockBltnList( void );
  203. void UnlockBltnList( void );
  204.  
  205. /*
  206. ** Door I/O and Text Functions
  207. */
  208.  
  209. BOOL  DisplayFile( UWORD, char *, ULONG );
  210. BPTR  OpenTextFile( UWORD, char * );
  211. LONG  WriteLine( int, APTR, int, int );
  212. void  ReadLine( struct ReadVars * );
  213. UBYTE GetHotChar( long, BOOL );
  214. long  ReadLineTagList( long, UBYTE *, struct TagItem * );
  215. long  ReadLineTags( long, UBYTE *, ... );
  216. BOOL  GetYesNo( long, BOOL );
  217. BOOL    PreLoadText( UBYTE * );
  218. void    FreeAllText( void );
  219. BOOL  AddHistList( long, struct List * );
  220. void  RemHistList( long );
  221. void  ClearHistList( struct List * );
  222.  
  223. /*
  224. ** Global command functions
  225. */
  226.  
  227. WORD   LoadGCmds( void );
  228. void   UnLoadGCmds( void );
  229. UBYTE *FindGCmd( UBYTE * );
  230. void   FreeGCmd( void );
  231.  
  232. /*
  233. ** Watcher functions
  234. */
  235.  
  236. APTR AddWatcher( long, struct MsgPort * );
  237. void FreeWatcher( struct Watcher * );
  238. void SignalWatchers( long, long );
  239. struct Screen *LockWatcherScreen( long );
  240. void FunctionKey( long, struct FKey *, APTR, UBYTE *, BOOL );
  241. APTR BuildZMenu( UBYTE *, struct NewMenu *, ULONG, struct Menu ** );
  242. void FreeZMenu( APTR );
  243. BOOL StartMenuProg( LONG, UBYTE *, UBYTE * );
  244.  
  245. /*
  246. ** ANSI Music functions
  247. */
  248.  
  249. APTR InitMusic( void );
  250. void FreeMusic( APTR );
  251. BOOL PlayMusic( APTR, UBYTE * );
  252.  
  253. /*
  254. ** Language functions
  255. */
  256.  
  257. APTR LoadLanguage( UBYTE * );
  258. void FreeLanguage( APTR );
  259. UBYTE *GetLangStr( APTR, UBYTE * );
  260. BOOL ReLoadLanguage( APTR );
  261. struct Language *LoadLangExtra( UBYTE * );
  262. void FreeLangExtra( struct Language * );
  263.  
  264. /*
  265. ** Last calls
  266. */
  267.  
  268. long AddLastCall( struct Line *le );
  269. long LoadLastCalls( void );
  270.  
  271. /*
  272. ** Custom segment loading
  273. */
  274.  
  275. struct ZSegs *ZLoadSeg( UBYTE * );
  276. void ZUnLoadSeg( struct ZSegs * );
  277.  
  278. /*
  279. ** Rexx functions
  280. */
  281.  
  282. long         rfNextArg( APTR, UBYTE *, long );
  283. struct Line *rfGetLine( APTR );
  284. UBYTE       *rfGetArg( APTR, long );
  285. void         rfReply( APTR, long, UBYTE * );
  286.  
  287. struct Line_Node *rfGetLineNode( APTR );            /* Private */
  288.  
  289. void LLVPrintf( long, UBYTE, UBYTE *, APTR );
  290. void ELVPrintf( UBYTE, UBYTE *, APTR );
  291.  
  292. void LLPrintf( long, UBYTE, UBYTE *, ... );
  293. void ELPrintf( UBYTE, UBYTE *, ... );
  294.  
  295. #endif     /* CLIB_PIPELINE_PROTOS_H */
  296.